Visualización Intercativa de Datos Geográficos#

Librerías#

import pandas as pd
import plotly.express as px
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

1. Cargar el dataset de producción#

energia = pd.read_csv('https://raw.githubusercontent.com/lihkir/Uninorte/main/AppliedStatisticMS/DataVisualizationRPython/Lectures/Python/PythonDataSets/share-of-electricity-production-from-renewable-sources.csv')
energia.head()
Country Code Year Renewable electricity (% electricity production)
0 Afghanistan AFG 1990 67.730496
1 Afghanistan AFG 1991 67.980296
2 Afghanistan AFG 1992 67.994310
3 Afghanistan AFG 1993 68.345324
4 Afghanistan AFG 1994 68.704512

2. Ordenar el Dataframe de producción en función de la característica Year.#

df_ordenado = energia.sort_values(by='Year')
df_ordenado
Country Code Year Renewable electricity (% electricity production)
0 Afghanistan AFG 1990 67.730496
1668 France FRA 1990 13.369879
1643 Finland FIN 1990 29.451790
1618 Fiji FJI 1990 82.441113
1593 Faeroe Islands FRO 1990 35.545024
... ... ... ... ...
2707 Lebanon LBN 2014 1.075089
919 Central African Republic CAF 2014 85.792350
2682 Latvia LVA 2014 54.541918
4743 Switzerland CHE 2014 58.015463
5406 Zimbabwe ZWE 2014 55.622069

5407 rows × 4 columns

3. Generar un mapa de coropletas para la producción de energía renovable en función del Year.#

fig = px.choropleth(df_ordenado,
                    locations='Code', 
                    color='Renewable electricity (% electricity production)', 
                    hover_name='Country',
                    animation_frame='Year', 
                    color_continuous_scale=px.colors.sequential.Plasma)

fig.show()

4. Actualice el diseño para incluir un estilo de proyección adecuado y un texto de título, y luego muestre la figura.#

fig = px.choropleth(df_ordenado,
                    locations='Code', 
                    color='Renewable electricity (% electricity production)', 
                    hover_name='Country',
                    animation_frame='Year', 
                    color_continuous_scale=px.colors.sequential.Plasma, 
                    title='Producción de Energía Renovable por Región y Año',
                    labels={'Renewable electricity (% electricity production)': 'Renewable electricity'})

fig.update_layout(
    title=dict(x=0.5),
    geo=dict(
        showframe=False, 
        showcoastlines=False  
    ),
    autosize=False, 
    width=1000, 
    height=800 
)

fig.show()

Se observa que a medida que pasan los años, la tendecia a incorporar energías renovables va en aumento. Sobretodo en los países de América y Europa.

5. Cargar el Dataset de consumo de energía renovable#

consumo = pd.read_csv('https://raw.githubusercontent.com/lihkir/Uninorte/main/AppliedStatisticMS/DataVisualizationRPython/Lectures/Python/PythonDataSets/renewable-energy-consumption-by-country.csv')
consumo.head()
Country Code Year Traditional biofuels Other renewables (modern biofuels, geothermal, wave & tidal) Wind Solar PV Hydropower Total
0 Algeria DZA 1965 NaN 0.0 0.0 0.0 NaN 0.0
1 Algeria DZA 1966 NaN 0.0 0.0 0.0 NaN 0.0
2 Algeria DZA 1967 NaN 0.0 0.0 0.0 NaN 0.0
3 Algeria DZA 1968 NaN 0.0 0.0 0.0 NaN 0.0
4 Algeria DZA 1969 NaN 0.0 0.0 0.0 NaN 0.0

7. Ordenar el DataFrame de consumo en base a la característica Year.#

df_ordenado = consumo.sort_values(by='Year')
df_ordenado
Country Code Year Traditional biofuels Other renewables (modern biofuels, geothermal, wave & tidal) Wind Solar PV Hydropower Total
0 Algeria DZA 1965 NaN 0.000000 0.000000 0.000000 NaN 0.000000
1364 Ireland IRL 1965 NaN 0.000000 0.000000 0.000000 NaN 0.000000
2656 Sweden SWE 1965 NaN 0.000000 0.000000 0.000000 NaN 0.000000
1416 Israel ISR 1965 NaN 0.000000 0.000000 0.000000 NaN 0.000000
1468 Italy ITA 1965 NaN 2.676000 0.000000 0.000000 NaN 2.676000
... ... ... ... ... ... ... ... ... ...
947 Finland FIN 2016 NaN 11.794548 3.068000 0.013462 NaN 14.876009
155 Australia AUS 2016 NaN 3.352482 13.190887 7.157880 NaN 23.701249
2863 Thailand THA 2016 NaN 9.649613 0.465826 2.334719 NaN 12.450158
2603 South Korea KOR 2016 NaN 12.018676 1.779674 5.236650 NaN 19.035000
3343 Vietnam VNM 2016 NaN 0.059162 0.241540 0.007170 NaN 0.307871

3344 rows × 9 columns

8. Generar un mapa coroplético para el consumo de energía renovable utilizando el módulo plotly express animado en función del año.#

fig = px.choropleth(df_ordenado,
                    locations='Code', 
                    color='Total', 
                    hover_name='Country',
                    animation_frame='Year', 
                    color_continuous_scale=px.colors.sequential.Plasma)

fig.show()

9. Actualice el diseño para incluir un estilo de proyección adecuado y un texto de título, y luego muestre la figura.#

fig = px.choropleth(df_ordenado,
                    locations='Code', 
                    color='Total', 
                    hover_name='Country',
                    animation_frame='Year', 
                    color_continuous_scale=px.colors.sequential.Plasma, 
                    title='Consumo de Energía Renovable por Región y Año')

fig.update_layout(
    title=dict(x=0.5),
    geo=dict(
        showframe=False, 
        showcoastlines=False  
    ),
    autosize=False, 
    width=1000, 
    height=800 
)

fig.show()

Se observa que a medida que pasan los años la tendencia general de los países es aumentar el consumo en energías renovables.